1. Field of the Invention
The subject invention relates generally to data processing systems and more particularly to a method and apparatus for coordinating changes made in a server side database representation with user modifications made to a dual schema file maintained on a client-side workstation.
2. Description of Related Art
In the present state of the art, data is located everywhere: on mainframe servers, on PC desktops, on the web. Data resides in these environments in many different formats: relational and non-relational database management systems, ISAM files, e-mail, spreadsheets, audio, video, real time data feeds for news and stock, CAD/CAM systems, and so on.
With today's tools and software technology, there is increasing pressure to provide access to this diverse data from multiple clients using standard interfaces, without moving the data from its origin. Businesses need to build solutions that span desktops, servers, and the Internet. In addition, the end user wants to access this data in the same way, regardless of the language used.
In order to facilitate access to structured and unstructured data in such diverse locations, Microsoft Corporation has developed a software interface specification known as OLE DB. OLE DB particularly provides a set of Component Object Model (COM) interfaces. According to OLE DB, data “Providers” are employed to expose data stored as OLE DB compliant data sources so as to allow access to them by OLE DB data “consumers”.
In one environment where the preferred embodiment finds application, a Data Provider provides communication between OLE DB data consumers on Windows workstations or servers and prior art data sources consisting, for example, of a Unisys DMS II database. A Data Provider per se is a component in Microsoft's Universal Data Access model.
In such an environment, Client data is stored in PC format, which means that alpha data is encoded in ASCII characters and integers are stored with their bytes in reverse order (a characteristic of the Intel processors that are typically used on PC's). The format of data as stored in prior art data sources is typically quite different. For example, alpha data on the host data source may be encoded in EBCDIC and integers may be stored with their bytes in normal order. Such encoding and storage is employed for example in Clearpath and A-Series environments present on prior art computer systems manufactured by Unysis Corp., Blue Bell, Pa.
The Data Provider of the preferred embodiment defines a format (the common data source schema) for describing the structures and data items for all the supported data sources. Within the common data source schema, each of the prior art data sources has some unique data types. The OLE DB specification also defines a set of data types. The mapping of prior art data source data types to the OLE DB data types is not always obvious or clear-cut. For example, the DMSII data source does not have a “date” data type, although dates are stored in DMSII databases. OLE DB does have a “date” data type. Moreover, the elements of the common data source schema may appear in formats which are not as recognizable or meaningful to the user as they might be.
In the inventors' co-pending application entitled “OLE DB DATA ACCESS SYSTEM WITH SCHEMA MODIFICATION FEATURES” incorporated by reference herein, a method and apparatus are disclosed whereby the mapping between data types may be reassigned and structure and data item names and other parameters altered by a user. A dual Schema File is maintained at a client side terminal, the Schema File containing an original copy of the data source schema and a modifiable copy of the data source schema. The contents of the modifiable Schema File may then be displayed in a split window format including one window which provides a tree view of the schema structure and an adjacent window which displays a set of values related to the selected element of the tree view and one or more of the values may then be modified by executing a point and click operation on selected areas in the second window. “Point and click” encompasses equivalent screen selection operations, such as for example, point and touch operations using a stylus, as presently implemented on various palm-held devices.
The approach of our co-pending application readily handles user-side schema modification. However, it does not address handling of changes to the database description of the prior art database made by, for example, a database administrator on the database or data source side of the system.